package com.sinog.biz.util;

import com.sinog.core.utilbean.Constants;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @desc 处理手机号工具类
 * @author YYHH
 * @date Created in 2021/12/3 11:27
 */
public class DataUtils {

    /**
     * 处理手机号的|
     * @param list----这个参数是传过来的列表结合，例如预安置列表，此系统列表大多数返回为List<Map>呜呜😢
     * @param phone---为了防止每个列表的电话号码保存的字段名称不一样,有的叫phone,有的叫tel
     * @return List<Map < String,String>>
     */
    public static List<Map<String,String>> handlePhone(List<Map<String,String>> list,String phone) {
        if(!CollectionUtils.isEmpty(list)) {
            list = list.stream().peek((item) -> {
                String phoneNew = item.get(phone);
                if(StringUtils.isNotEmpty(phoneNew)) {
                    //只有座机，以|结尾 0431-22221111|
                    if(phoneNew.endsWith(Constants.SpecialChar.NUM_CHAR_E)) {
                        String replacePhone = phoneNew.replace(Constants.SpecialChar.NUM_CHAR_E,"");
                        item.put(phone,replacePhone);
                    } else if(phoneNew.contains(Constants.SpecialChar.NUM_CHAR_E)) {
                        //手机号、座机，不以|结尾，并且包含｜
                        item.put(phone,phoneNew);
                    }
                }
            }).collect(Collectors.toList());
        }
        return list;
    }
}